M = 4;
SNR_db = -2:0.5:10;
SNR = 10.^(SNR_db/10);
[ber_2_2,ser_2_2 ]= berawgn(SNR_db,'psk',M,'nondiff');
M_new = 2;
[ber_8_8,ser_8_8 ]= berawgn(SNR_db,'psk',M_new,'nondiff');
ber_8_8 = 8 * ber_8_8;
ber_2_2_autoencoder = [0.247873333333  0.222406666667  0.198713333333  0.17418  0.152546666667  0.1319  0.113633333333  0.0926933333333  0.0758733333333  0.06042  0.0475333333333  0.0348266666667  0.0264066666667  0.0189733333333  0.0131066666667  0.00856  0.00546  0.00314  0.00174  0.000853333333333  0.000553333333333  0.000213333333333  9.33333333333e-05  3.33333333333e-05  1.33333333333e-05 ];
ber_8_8_autoencoder = [0.631973333333  0.58108  0.529746666667  0.47574  0.417266666667  0.35732  0.29806  0.244213333333  0.19182  0.14556  0.107273333333  0.0760066666667  0.0494266666667  0.0323466666667  0.0184266666667  0.0103533333333  0.00558  0.00288  0.00118666666667  0.00046  0.000193333333333  7.33333333333e-05  2.66666666667e-05  0.9e-05  0.0];
semilogy(SNR_db,ser_2_2,'k--','linewidth',2),grid on,hold on;
semilogy(SNR_db,ber_8_8_autoencoder,'--r*','linewidth',0.8)
semilogy(SNR_db,ber_2_2_autoencoder,'rs','linewidth',0.8)
semilogy(SNR_db,ber_8_8,'k','linewidth',1)
legend('Uncoded BPSK(2,2)','Autoencoder(8,8)','Autoencoder (2,2)','Uncoded BPSK(8,8)');
legend('Location','southwest');
ylim([1E-5 1])
